package com.itheima.interceptor;


import com.itheima.domain.UmsAdmin;


/**
 * 工具类：实现向threadlocal存储数据的方法
 */
public class UserHolder {

    private static ThreadLocal<UmsAdmin> tl = new ThreadLocal<>();

    /**
     * 将用户对象，存入Threadlocal
     * @param user
     */
    public static void set(UmsAdmin user) {
        tl.set(user);
    }

    /**
     * 从当前线程，获取用户对象
     * @return
     */
    public static UmsAdmin get() {
        return tl.get();
    }

    /**
     * 从当前线程，获取用户对象的id
     * @return
     */
    public static Long getUserId() {
        return tl.get().getId();
    }

    /**
     * 从当前线程，获取用户对象的用户名
     * @return
     */
    public static String getUsername() {
        return tl.get().getUsername();
    }

    /**
     * 清空
     */
    public static void remove() {
        tl.remove();
    }
}